Array.prototype.forEach = function (callback, context) {
    // 不能是null调用方法
    if (this === null) {
        throw new TypeError(
            "Array.prototype.forEach" + "called on null or undefined"
        );
    }
    // 第一个参数必须要为function
    if (typeof callback !== "function") {
        throw new TypeError(callback + " is not a function");
    }
    // 获取原数组，因为会改变原数组
    let arr = this;
    let len = arr.length;
    //
    for (let i = 0; i < len; i++) {
        callback.call(context, arr[i], i, arr);
    }
    // 数组没有返回值的，不用返回
}